module.exports = {
  formatTime: formatTime,  // 日期转时间戳
  formatTimeTwo: formatTimeTwo  // 时间戳转日期
}

function formatTime(date_stamp) {
 
  var date=new Date(date_stamp * 1000)
  var now_stamp=Date.parse(new Date())/1000
  var thatday_begin=new Date(date_stamp * 1000).setHours(0,0,0,0)/1000

  var year = date.getFullYear()
  var month = date.getMonth() + 1
  var day = date.getDate()

  var hour = date.getHours()
  var minute = date.getMinutes()
  var second = date.getSeconds()
  var s=''

  if(now_stamp-date_stamp<180){
    s="刚刚更新"
    return s
  }
  else if(now_stamp-date_stamp<3600){
 
    return parseInt((now_stamp-date_stamp)/60)+'分钟前'

  }
  else if(now_stamp-thatday_begin<86400){
 
    return parseInt((now_stamp-date_stamp)/3600)+'小时前'

  }
  else if(now_stamp-thatday_begin<172800){

    return '昨天'+[hour, minute].map(formatNumber).join(':')

  }
  else if(now_stamp-thatday_begin<31536000){

    return [month, day].map(formatNumber).join('/')

  }
  else{

    return [year, month, day].map(formatNumber).join('/') 
  }

}
//转换成年，月，天，时，分
function formatTime_overtime(date_stamp) {
 
  var date=new Date(date_stamp * 1000)
  var now_stamp=Date.parse(new Date())/1000
  var thatday_begin=new Date(date_stamp * 1000).setHours(0,0,0,0)/1000

  var year = date.getFullYear()
  var month = date.getMonth() + 1
  var day = date.getDate()

  var hour = date.getHours()
  var minute = date.getMinutes()

  var s=''


  if(date_stamp-now_stamp<3600){
 
    return parseInt((date_stamp-now_stamp)/60)+'分钟后'

  }
  else if(date_stamp-now_stamp<86400){
 
    return parseInt((date_stamp-now_stamp)/3600)+'小时后'

  }
  else if(date_stamp-now_stamp<259200){

    return parseInt((date_stamp-now_stamp)/86400)+'天后'
  

  }
  else if(year==new Date().getFullYear()){


    return [month, day].map(formatNumber).join('/')

  }
  else{

    return [year, month, day].map(formatNumber).join('/') 
  }

}

function formatNumber(n) {
  n = n.toString()
  return n[1] ? n : '0' + n
}


function newformatTime(date) {
  var year = date.getFullYear()
  var month = date.getMonth() + 1
  var day = date.getDate()
 
  var hour = date.getHours()
  var minute = date.getMinutes()
  var second = date.getSeconds()
 
  return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

/** 
* 时间戳转化为年 月 日 时 分 秒 
* number: 传入时间戳 
* format：返回格式，支持自定义，但参数必须与formateArr里保持一致 
*/
function formatTimeTwo(number, format) {

  var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
  var returnArr = [];

  var date = new Date(number * 1000);
  returnArr.push(date.getFullYear());
  returnArr.push(formatNumber(date.getMonth() + 1));
  returnArr.push(formatNumber(date.getDate()));

  returnArr.push(formatNumber(date.getHours()));
  returnArr.push(formatNumber(date.getMinutes()));
  returnArr.push(formatNumber(date.getSeconds()));

  for (var i in returnArr) {
      format = format.replace(formateArr[i], returnArr[i]);
  }
  return format;
}

module.exports = {
  formatTime: formatTime,
  formatTimeTwo: formatTimeTwo,
  newformatTime: newformatTime  ,
  formatTime_overtime:formatTime_overtime
}